/*
 *  elasticlog3d.h
 *  EPPI-0.0
 *
 *  Created by Sergio Conde Martin on 04/05/11.
 *
 */

 
#ifndef _elasticlog3d_h_
#define _elasticlog3d_h_

#include <iostream>
#include "hyperelasticstretches.h"

class ElasticLog3D : public HyperelasticStretches
{
public:
	double E;
	double nu;
	double lambda;
	double mu;
	double b;
	string typeVol;
	double K;
/*	Data members from the base class Material
	string name;
	double density;
	vector< vector<double> > Ct;	// Linearized constitutive tensor
*/
	
public:
	ElasticLog3D();
	ElasticLog3D(ifstream &, const string &, const string &);
	~ElasticLog3D(){}
	
	// Virtual functions from the HyperelasticStretches
	void strainEnergy();	// Strain energy
	void DstrainEnergy();
	void DDstrainEnergy();
    void DDDstrainEnergy();
	
	// Virtual functions from the Material
	double getE();
	double getNu();
	double getLambda();
	double getMu();
	double getDensity();
	double getBulkmodulus();
	
	
	/** Local functions */
};

#endif	
	
